<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="https://www.w3.org/1999/xhtml" lang="zh-CN" xml:lang="zh-CN">
<head><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
    <title>6.36. Gettext-0.14.5</title>
    <link rel="stylesheet" href="../stylesheets/lfs.css" type="text/css" />
    <link rel="stylesheet" href="../stylesheets/lfs-print.css" type="text/css" media="print" />
<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?d286c55b63a3c54a1e43d10d4c203e75"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script>
</head>
  <body id="lfs" class="6.2">
    <div class="navheader">
      <div class="headertitles">
        <h4>Linux From Scratch - 版本 6.2</h4>
        <h3>第六章 安装系统基础软件</h3>
      </div>
      <ul class="headerlinks">
        <li class="prev">
          <a accesskey="p" href="gawk.html" title="Gawk-3.1.5">后退</a>
          <p>Gawk-3.1.5</p>
        </li>
        <li class="next">
          <a accesskey="n" href="grep.html" title="Grep-2.5.1a">前进</a>
          <p>Grep-2.5.1a</p>
        </li>
        <li class="up"><a accesskey="u" href="chapter06.html" title="第六章 安装系统基础软件">上一级</a></li>
        <li class="home"><a accesskey="h" href="../index.html" title="Linux From Scratch - 版本 6.2">首页</a></li>
      </ul>
    </div>
    <div class="wrap">
      <div class="titlepage">
        <h1 class="sect1">6.36. Gettext-0.14.5</h1>
      </div>
      <div class="package">
        <p>Gettext 用于系统的国际化和本地化，可以在编译程序的时候使用本国语言支持(NLS)，可以使程序的输出使用用户设置的语言而不是英文。</p>
        <div class="segmentedlist">
          <div class="seglistitem">
            <div class="seg">
              <strong><span class="segtitle">预计编译时间：</span></strong> <span class="seg">1 SBU</span>
            </div>
            <div class="seg">
              <strong><span class="segtitle">所需磁盘空间：</span></strong> <span class="seg">65 MB</span>
            </div>
          </div>
        </div>
      </div>
      <div class="installation">
        <div class="titlepage">
          <h2 class="sect2">6.36.1. 安装 Gettext</h2>
        </div>
        <p>为编译 Gettext 做准备：</p>
        <pre class="userinput"><kbd class="command">./configure --prefix=/usr</kbd></pre>
        <p>编译软件包：</p>
        <pre class="userinput"><kbd class="command">make</kbd></pre>
        <p>要测试结果，请运行：<strong class="userinput"><tt>make check</tt></strong> 。这需要大约 5 SBU 。</p>
        <p>安装软件包：</p>
        <pre class="userinput"><kbd class="command">make install</kbd></pre>
      </div>
      <div class="content">
        <div class="titlepage">
          <a id="contents-gettext" name="contents-gettext"></a>
          <h2 class="sect2">6.36.2. Gettext 的内容</h2>
        </div>
        <div class="segmentedlist">
          <div class="seglistitem">
            <div class="seg">
              <strong><span class="segtitle">安装的程序：</span></strong> <span class="seg">autopoint,
              config.charset, config.rpath, envsubst, gettext, gettext.sh,
              gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm,
              msgconv, msgen, msgexec, msgfilter, msgfmt, msggrep, msginit,
              msgmerge, msgunfmt, msguniq, ngettext, xgettext</span>
            </div>
            <div class="seg">
              <strong><span class="segtitle">安装的库：</span></strong> <span class="seg">libasprintf.{a,so}, libgettextlib.so,
              libgettextpo.{a,so}, libgettextsrc.so</span>
            </div>
          </div>
        </div>
        <div class="variablelist">
          <h3><a id="id3687449" name="id3687449"></a>简要描述</h3>
          <table border="0">
            <col align="left" valign="top" />
            <tbody>
              <tr>
                <td><a id="autopoint" name="autopoint"></a><span class="term"><span><strong class="command">autopoint</strong></span></span></td>
                <td><p>将标准的 gettext infrastructure 文件拷贝到源码包中</p></td>
              </tr>
              <tr>
                <td><a id="config.charset" name="config.charset"></a><span class="term"><span><strong class="command">config.charset</strong></span></span></td>
                <td><p>产生一个依赖于系统的字符编码表</p></td>
              </tr>
              <tr>
                <td><a id="config.rpath" name="config.rpath"></a><span class="term"><span><strong class="command">config.rpath</strong></span></span></td>
                <td><p>输出依赖于系统的变量，描述如何在可执行程序中设置库文件的实时查找路径。</p></td>
              </tr>
              <tr>
                <td><a id="envsubst" name="envsubst"></a><span class="term"><span><strong class="command">envsubst</strong></span></span></td>
                <td><p>替换 shell 格式化字符串中的环境变量</p></td>
              </tr>
              <tr>
                <td><a id="gettext" name="gettext"></a><span class="term"><span><strong class="command">gettext</strong></span></span></td>
                <td><p>通过在消息列表中查找，来将一种自然语言的消息翻译成用户的本地语言</p></td>
              </tr>
              <tr>
                <td><a id="gettext.sh" name="gettext.sh"></a><span class="term"><span><strong class="command">gettext.sh</strong></span></span></td>
                <td><p>主要作为一个shell的函数库来为 gettext 服务</p></td>
              </tr>
              <tr>
                <td><a id="gettextize" name="gettextize"></a><span class="term"><span><strong class="command">gettextize</strong></span></span></td>
                <td><p>拷贝所有的标准 Gettext 文件到软件包的顶层目录下，以进行国际化。</p></td>
              </tr>
              <tr>
                <td><a id="hostname-gettext" name="hostname-gettext"></a><span class="term"><span><strong class="command">hostname</strong></span></span></td>
                <td><p>用不同的格式显示一个网络主机名</p></td>
              </tr>
              <tr>
                <td><a id="msgattrib" name="msgattrib"></a><span class="term"><span><strong class="command">msgattrib</strong></span></span></td>
                <td><p>根据翻译目录中消息的属性过滤它们，并且操作这些属性。</p></td>
              </tr>
              <tr>
                <td><a id="msgcat" name="msgcat"></a><span class="term"><span><strong class="command">msgcat</strong></span></span></td>
                <td><p>将给定的 <tt class="filename">.po</tt> 文件合并到一起</p></td>
              </tr>
              <tr>
                <td><a id="msgcmp" name="msgcmp"></a><span class="term"><span><strong class="command">msgcmp</strong></span></span></td>
                <td><p>比较两个 <tt class="filename">.po</tt> 文件，看它们是否包含相同的 msgid 字符串</p></td>
              </tr>
              <tr>
                <td><a id="msgcomm" name="msgcomm"></a><span class="term"><span><strong class="command">msgcomm</strong></span></span></td>
                <td><p>找出不同 <tt class="filename">.po</tt> 文件中的相同信息</p></td>
              </tr>
              <tr>
                <td><a id="msgconv" name="msgconv"></a><span class="term"><span><strong class="command">msgconv</strong></span></span></td>
                <td><p>把一个翻译列表转化成另一种字符编码</p></td>
              </tr>
              <tr>
                <td><a id="msgen" name="msgen"></a><span class="term"><span><strong class="command">msgen</strong></span></span></td>
                <td><p>建立一个英文翻译目录</p></td>
              </tr>
              <tr>
                <td><a id="msgexec" name="msgexec"></a><span class="term"><span><strong class="command">msgexec</strong></span></span></td>
                <td><p>对一个翻译列表中的所有翻译执行同一个命令</p></td>
              </tr>
              <tr>
                <td><a id="msgfilter" name="msgfilter"></a><span class="term"><span><strong class="command">msgfilter</strong></span></span></td>
                <td><p>对一个翻译列表中的所有翻译使用同一个过滤器</p></td>
              </tr>
              <tr>
                <td><a id="msgfmt" name="msgfmt"></a><span class="term"><span><strong class="command">msgfmt</strong></span></span></td>
                <td><p>从翻译列表生成一个二进制的消息列表</p></td>
              </tr>
              <tr>
                <td><a id="msggrep" name="msggrep"></a><span class="term"><span><strong class="command">msggrep</strong></span></span></td>
                <td><p>将一个翻译列表中的所有符合给定格式或者属于给定源文件的消息展开</p></td>
              </tr>
              <tr>
                <td><a id="msginit" name="msginit"></a><span class="term"><span><strong class="command">msginit</strong></span></span></td>
                <td><p>生成一个新的 <tt class="filename">.po</tt> 文件，并使用用户环境中的消息来对这个文件进行初始化。</p></td>
              </tr>
              <tr>
                <td><a id="msgmerge" name="msgmerge"></a><span class="term"><span><strong class="command">msgmerge</strong></span></span></td>
                <td><p>将两个翻译合并成一个</p></td>
              </tr>
              <tr>
                <td><a id="msgunfmt" name="msgunfmt"></a><span class="term"><span><strong class="command">msgunfmt</strong></span></span></td>
                <td><p>将二进制翻译文件反编译成源文件</p></td>
              </tr>
              <tr>
                <td><a id="msguniq" name="msguniq"></a><span class="term"><span><strong class="command">msguniq</strong></span></span></td>
                <td><p>将翻译目录中重复的翻译合并成一个</p></td>
              </tr>
              <tr>
                <td><a id="ngettext" name="ngettext"></a><span class="term"><span><strong class="command">ngettext</strong></span></span></td>
                <td><p>显示依赖于数字格式的文本文件的本国语言翻译</p></td>
              </tr>
              <tr>
                <td><a id="xgettext" name="xgettext"></a><span class="term"><span><strong class="command">xgettext</strong></span></span></td>
                <td><p>从源文件中展开消息行, 用来创建起始翻译模板</p></td>
              </tr>
              <tr>
                <td><a id="libasprintf" name="libasprintf"></a><span class="term"><tt class="filename">libasprintf</tt></span></td>
                <td><p>定义 <span class="emphasis"><em>autosprintf</em></span> 类，使 C 的函数以 C++ 程序可使用的结构输出，与 <span class="emphasis"><em>&lt;string&gt;</em></span> 字符串和 <span class="emphasis"><em>&lt;iostream&gt;</em></span> 流一起使用。</p></td>
              </tr>
              <tr>
                <td><a id="libgettextlib" name="libgettextlib"></a><span class="term"><tt class="filename">libgettextlib</tt></span></td>
                <td><p>包含多个 gettext 程序使用的函数，是私有库</p></td>
              </tr>
              <tr>
                <td><a id="libgettextpo" name="libgettextpo"></a><span class="term"><tt class="filename">libgettextpo</tt></span></td>
                <td><p>用来写处理 <tt class="filename">.po</tt> 文件的程序。当 Gettext 自带的标准程序(如 <span><strong class="command">msgcomm</strong></span>, <span><strong class="command">msgcmp</strong></span>, <span><strong class="command">msgattrib</strong></span>, <span><strong class="command">msgen</strong></span>)不能满足要求时，可以使用这个库。</p></td>
              </tr>
              <tr>
                <td><a id="libgettextsrc" name="libgettextsrc"></a><span class="term"><tt class="filename">libgettextsrc</tt></span></td>
                <td><p>包含多个 gettext 程序使用的函数，是私有库。</p></td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
    </div>
    <div class="navfooter">
      <ul>
        <li class="prev">
          <a accesskey="p" href="gawk.html" title="Gawk-3.1.5">后退</a>
          <p>Gawk-3.1.5</p>
        </li>
        <li class="next">
          <a accesskey="n" href="grep.html" title="Grep-2.5.1a">前进</a>
          <p>Grep-2.5.1a</p>
        </li>
        <li class="up"><a accesskey="u" href="chapter06.html" title="第六章 安装系统基础软件">上一级</a></li>
        <li class="home"><a accesskey="h" href="../index.html" title="Linux From Scratch - 版本 6.2">首页</a>.
        </li>
      </ul>
    </div>
</body></html>
